package single;

/**
 * @description:演示饿汉式单例模式
 * @Author yyp
 * @time
 */
public class SingleTome01 {
    public static void main(String[] args) {
        System.out.println(GirlFriend01.level);
        //在你创建类之前，你的女朋友已经出现了。已经可以使用其中的对象
        //这种方式叫饿汉式，或许也可以称为痴汉式
        GirlFriend01 g1 = GirlFriend01.getGf();
        System.out.println(g1);
        GirlFriend01 g2 = GirlFriend01.getGf();
        System.out.println(g2);
        System.out.println(g1 == g2);
    }
}

class GirlFriend01{
    private String name;
    public static int level = 100;
    //如何保证只能创建一个GirlFriend对象
    //步骤
    //1. 将构造器私有化
    //2. 在类的内部直接创建、
    //3. 提供一个公共的static方法，返回gf对象
    private static GirlFriend01 gf = new GirlFriend01("小妹");
    private GirlFriend01(String name){
        this.name = name;
    }
    public static GirlFriend01 getGf(){
        return gf;
    }
}
